.login {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #06131f;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;

  &--un-cert {
    &::after {
      content: ' ';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: inherit;
      filter: blur(5px);
    }
  }

  .login-form {
    position: absolute;
    left: 14%;
    top: 31.5%;
    width: 26%;
    z-index: 2;

    .logo {
      margin-bottom: 25px;

      img {
        width: 95%;
      }
    }

    .input {
      position: relative;

      &__field {
        position: relative;
        display: block;
        padding: 1em 25px 1em 1px;
        width: 100%;
        background: transparent;
        color: rgba(255, 255, 255, 1);
        font-size: 14px;
        border: none;
        border-radius: 0;
        background: rgba(0, 0, 0, 0);
        -webkit-appearance: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        transition: all 0.5s;

        &:focus {
          outline: none;
          border-bottom: 1px solid rgba(255, 255, 255, 0.8);

          & + .input__label {
            color: rgba(255, 255, 255, 0.8);
            transform: translateY(-1.6em);
          }
        }
      }

      &__label {
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 1em 1px;
        width: 100%;
        text-align: left;
        pointer-events: none;
        color: rgba(255, 255, 255, 0.5);
        cursor: default;
        transition: all 0.5s;

        &--hidden {
          opacity: 0;
        }
      }

      &__error {
        position: absolute;
        bottom: -1.7em;
        left: 0;
        color: rgba(255, 255, 255, 0.8);
      }

      &__icon {
        position: absolute;
        right: 4px;
        bottom: 1.3em;
        cursor: pointer;
        color: rgba(255, 255, 255, 1);

        svg {
          width: 14px;
          height: 14px;
        }
      }
    }

    .input-password {
      margin-top: 2em;
    }

    .input-checkcode {
      margin-top: 2em;
      width: calc(100% - 148px);
    }

    .input-username--error + .input-password {
      margin-top: 2em;
    }

    .login-btn button {
      margin-top: 3em;
      width: 110px;
      height: 32px;
      color: #ffffff;
      border: none;
      border-radius: 0 !important;
      background: linear-gradient(-30deg, rgba(16, 95, 198, 1) 0%, rgba(58, 146, 255, 1) 100%);
    }
  }

  .login-fg {
    position: absolute;
    top: 32%;
    right: 10%;

    img {
      width: 650px;
    }
  }

  &__copyright {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 3;
    color: #ffffff;
  }
  .checkcode_img {
    width: 100%;
    position: absolute;
    transform: translateY(-100%);
    margin-left: 8px;
    height: 60px;
    width: 140px;
    left: 100%;
    background: url(./images/chec_code_bg.png) center/cover;
    cursor: pointer;
  }

  &.oem {
    .logo img {
      width: auto !important;
      max-width: 500px;
      max-height: 80px;
    }
  }
}

.upload-cert-modal {
  padding: 0;
  background: rgba(244, 246, 247, 0.1);
  border-radius: 2px;
  border: 1px solid rgba(255, 255, 255, 1);

  &__wrapper {
    background-color: #06131f;
    background-image: url('./images/cert-bg.png');
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;

    &--width-100 {
      background-size: 100% auto;
    }

    &--height-100 {
      background-size: auto 100%;
    }
  }

  .ant-modal-content,
  .ant-modal-content,
  .ant-modal-header,
  .ant-modal-body,
  .ant-modal-footer,
  .ant-modal-title,
  .ant-btn,
  .ant-upload-list-item-name,
  .anticon-paper-clip,
  .anticon-close {
    background: rgba(0, 0, 0, 0);
    color: #ffffff;
  }

  .anticon-close:hover {
    color: #ffffff;
  }

  .cert-info {
    padding: 24px;
    border-radius: 2px;
    border: 1px solid rgba(151, 151, 151, 1);

    .device-id {
      margin-bottom: 16px;
    }

    .device-id,
    .uploader {
      display: flex;
      line-height: 32px;

      label {
        flex: 0 0 60px;
        margin-right: 20px;
        font-size: 14px;
        font-weight: 400;
        text-align: justify;
      }
    }
    .ant-upload-list-item:hover .ant-upload-list-item-info {
      background-color: rgba(0, 0, 0, 0.1);
    }
  }

  .ant-btn {
    border: 1px solid rgba(151, 151, 151, 1);
    transition: all 0.3s;
    &:hover {
      border: 1px solid rgba(255, 255, 255, 1);
    }
  }
  .upload-certed .ant-upload .ant-btn {
    border: 1px solid rgba(255, 255, 255, 1);
  }

  .cert-error {
    font-size: 12px;
    height: 0px;
    line-height: 22px;
    overflow: hidden;
    transition: all 0.3s;

    &--enable {
      height: 22px;
      margin-top: 8px;
    }
  }
}
